将 Excel 文件 (.xlsx) 转换为 CSV 是否存在对 Excel 中主键值的误解? [已关闭]

问题描述 投票:0回答:1

标题:将 Excel 文件 (.xlsx) 转换为 CSV 是否会导致 Excel 中主键值的误解?

背景:

我正在 Excel 中处理大型数据集,通常有 1 到 150 列和大约 400,000 行。这些文件始终以 .xlsx 格式提供,我经常需要合并这些文件中的数据。没有直接导出为 .csv 的选项,因为这是 UI 的设计方式。特别是一列充当关键的主键。虽然此列中的值是一致的,但 Excel 可能会因其格式或内容而将它们解释为不同的数据类型。示例值包括:

=1234/567.89  
2345 67/89.01  
34/5PW-8.901  
4567/89.0WKS  
P67.8901/234  
89/012 34.567  
2-2-23  
=AND($A$3:$ZK$78)

在 Excel 中,主键列的格式通常为“常规”或“文本”,但某些值可能会被 Excel 误解为公式、日期或数字,这可能会在转换为 CSV 时导致问题。

问题:

我的目标是使用Python更有效地处理数据,特别是出于性能原因使用read_csv()而不是read_excel()。但是,我担心将 .xlsx 文件转换为 CSV 可能会导致 Excel(或 Python)误解重要的主键值。潜在问题包括:

前导零被删除(例如,089/012 变为 89/012), 类似于日期的值(例如 2-2-23)会自动转换为实际日期, 公式(例如,=###)被视为实际公式或已更改。 核心问题:

将 .xlsx 文件转换为 CSV 是否会带来误解或更改这些主键值的风险?如果是这样,在此转换过程中保持数据完整性(尤其是主键)的最佳实践是什么?

我尝试过的:

我将测试文件(51,242 行,3 列)保存为 CSV,看起来主键值中没有丢失数据完整性。但是,我不确定这在不同的数据集中是否一致,我需要有经验的用户的建议来确认:

.xlsx 到 .csv 的转换是否可能导致 Excel 或 Python 误解此关键主键列中的值。 如果存在风险,我可以使用哪些方法(例如 Power Query、使用特定 Python 库或转义代码)来确保数据保持准确且不被更改? 其他详细信息:

我使用的是 Microsoft® Excel® for Microsoft 365 MSO(版本 2407 内部版本 16.0.17830.20210)64 位。 对于某些工作流程批量处理数据来说,Python 是必需的,但我想确保任何 CSV 转换都不会损害主键值的完整性。 预先感谢您的见解和建议! (我加入 StackOverflow 是为了担任分析师的新工作。请给予我建设性的批评和耐心。)

excel csv file file-conversion
1个回答
0
投票

Excel 将显示的数据写入 CSV。您应该期望 CSV 显示与工作表的外观相同。

您可以使用VBA写入数据。它允许您完全控制数据外观。

一般情况下,您需要避免将数据存储在Excel工作簿中。仅将 Excel 用于其目的会更合理:可视化数据表示和大多数情况下通过手动操作轻松计算。

© www.soinside.com 2019 - 2024. All rights reserved.