我需要编写一个创建表的 .sql 文件。
我正在使用 pandas 导入 .csv 文件:
import os
import pandas as pd
csv_directory = '/.../test/'
# Lecture des fichiers CSV et génération des requêtes SQL
sql_queries = []
for file in os.listdir(csv_directory):
if file.endswith('.csv'):
df = pd.read_csv(csv_directory + file, header=None) # Lecture du fichier CSV avec pandas
table_name = file.split('.')[0] # Utilisation du nom de fichier comme nom de table
print (file)
#print (table_name)
#print (df)
create_table_query = f"CREATE TABLE {table_name} (code TEXT NOT NULL, valeur TEXT NULL, description TEXT,CONSTRAINT {table_name}_pk PRIMARY KEY (code));"
insert_data_query = f"INSERT INTO {table_name} (code, valeur, description) VALUES "
insert_data_query += ', '.join([str(tuple(row)) for row in df.values]) + ';'
sql_queries.append(create_table_query)
sql_queries.append(insert_data_query)
# Écriture des requêtes SQL dans un fichier
with open('list.sql', 'w') as file:
for query in sql_queries:
file.write(query + '\n')
但我需要:
('non_concerne','Non concerné(e)','information non possible ou non pertinente pour l''élément décrit')
而不是
('non_concerne','Non concerné(e)',"information non possible ou non pertinente pour l'élément décrit")
如果字符串是由单引号定义的,Python 无法处理法语撇号。考虑用双打
''
替换字符串定义中的所有单标记 ""
。
我认为可能有一个使用反斜杠和转义字符的解决方法,例如:
print('information non possible ou non pertinente pour l\'élément décrit')
给出:
information non possible ou non pertinente pour l'élément décrit
鉴于:
print('information non possible ou non pertinente pour l'élément décrit')
给出错误,因为字符串在 l: 之后结束
File "/tmp/ipykernel_75916/2440330730.py", line 1
print('information non possible ou non pertinente pour l'élément décrit')
^
SyntaxError: invalid syntax