我试图使用pandas to_sql一次性将 Dataframe 中的多个csv导入mysql数据库。创建引擎后,我将运行以下操作:
folder_path = (file_path)
os.chdir(folder_path)
for file in os.listdir(folder_path):
if '.csv' in file:
df = pd.read_csv(file, low_memory = False)
table_name = str(file.strip('.csv'))
df.to_sql(table_name, con = engine, if_exists = 'replace')
但是,当我运行代码时,会出现以下错误:“unicodeencodeerror:'charmap'编解码器无法对位置0-7中的字符进行编码:字符Map到”
即使我尝试使用导入向导加载出现错误的特定表,它也只导入42000条记录中的50条。
感谢您的帮助!
1条答案
按热度按时间l7mqbcuq1#
我不确定这样做是否“正确”,但我发现了一个regex,它只选择utf-8中的字符,删除了 Dataframe 中每个字段的剩余字符:
理想情况下,如果有其他解决方案,我希望保留非utf-8字符。